home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / Developer Essentials Jul 90 / Programming / MPW Interfaces & Libraries 3.1 / AIncludes / HardwareEqu.a < prev    next >
Encoding:
Text File  |  1989-10-13  |  32.7 KB  |  901 lines  |  [TEXT/MPS ]

  1. ; Version: 1.5
  2. ; Created: Tuesday, September 19, 1989
  3. ;
  4. ; File: HardwareEqu.a
  5. ;
  6. ; Assembler Interface to the Macintosh Libraries
  7. ; Copyright Apple Computer, Inc. 1984-1989
  8. ; All Rights Reserved
  9. ;
  10. ;--------------------------------------------------------------------
  11. ;
  12. ; The following information was formerly in "private" files that were
  13. ; not released to the general developer community.
  14. ;
  15. ; The information in this file is not needed for normal application
  16. ; development. These equates and macros were necessary for development
  17. ; of the Macintosh ToolBox and Operating System, and are likely to be
  18. ; dependent on their current implementation. Use of any information
  19. ; in this file is likely to cause your software to fail on future
  20. ; versions of Macintosh system software or hardware.
  21. ;
  22. ; Apple Developer Support will not support any use of the following
  23. ; information.
  24. ;
  25. ; In order to prevent any "accidental" use of this information, it has
  26. ; been disabled using the conditional-assembly variable, HWNonPortable,
  27. ; defined below. If you change this to a non-zero value, you're on your
  28. ; own. Since this gives hardware specific equates, we must also define
  29. ; which type of Mac we are assembling for. Define the following variable:
  30. ;
  31. ;            onMac if for 128K, 512K, 512Ke, or Mac+
  32. ;            onMacPP if for MacSE
  33. ;            onNuMac if for Macintosh II,IIx,IIcx,SE/30
  34. ;            onHafMac if for Macintosh IIci
  35. ;            onHcMac if for Macintosh Portable
  36. ;            onMac32 if for Macintosh 32-bit machines
  37. ;
  38. ; Hardware Equates -- This file defines the low-level equates for the
  39. ; Macintosh hardware interface.
  40. ;--------------------------------------------------------------------
  41.  
  42.                 IF            (&TYPE('onMac') = 'UNDEFINED') THEN 
  43. onMac            EQU         0
  44.                 ENDIF
  45.  
  46.                 IF            (&TYPE('onMacPP') = 'UNDEFINED') THEN
  47. onMacPP         EQU         0
  48.                 ENDIF
  49.  
  50.                 IF            (&TYPE('onHcMac') = 'UNDEFINED') THEN
  51. onHcMac         EQU         0
  52.                 ENDIF
  53.  
  54.                 IF            (&TYPE('onHafMac') = 'UNDEFINED') THEN
  55. onHafMac        EQU         0
  56.                 ENDIF
  57.  
  58.                 IF            (&TYPE('onNuMac') = 'UNDEFINED') THEN
  59. onNuMac         EQU         0
  60.                 ENDIF
  61.  
  62. onMac32         EQU         onNuMac|onHafMac
  63.  
  64. onAnything        EQU         onMac|onMacPP|onHcMac|onHafMac|onNuMac
  65.  
  66.  
  67. ; *** If HWNonPortable is defined to be non-zero, Then a machine type must be specified!
  68. ; *** If a machine is specified, HWNonPortable must be non-zero, specified or not.
  69.                 IF            (&TYPE('HWNonPortable') = 'UNDEFINED') THEN
  70. HWNonPortable    EQU         onAnything
  71.                 ENDIF
  72.  
  73.             IF                HWNonPortable THEN
  74.     
  75. ;----------
  76. ; Hardware configuration bits.
  77. ;----------
  78.  
  79. ;the following goes with hwCfgFlags 
  80.  
  81. hwCbSCSI        EQU         15                        ; SCSI port present
  82. hwCbClock        EQU         14                        ; New clock chip present
  83. hwCbExPRAM        EQU         13                        ; Extra Parameter Ram valid.
  84. hwCbFPU         EQU         12                        ; FPU chip present.
  85. hwCbMMU         EQU         11                        ; Some kind of MMU present (see MMUType for what kind).
  86. hwCbADB         EQU         10                        ; Apple Desktop Bus present.
  87. hwCbAUX         EQU         9                        ; Running A/UX                    
  88. hwCbPwrMgr        EQU         8                        ; Power Manager present         
  89. hwCmSCSI        EQU         (1 << hwCbSCSI)
  90. hwCmClock        EQU         (1 << hwCbClock)
  91. hwCmExPRAM        EQU         (1 << hwCbExPRAM)
  92. hwCmFPU         EQU         (1 << hwCbFPU)
  93. hwCmMMU         EQU         (1 << hwCbMMU)
  94. hwCmADB         EQU         (1 << hwCbADB)
  95. hwCmAUX         EQU         (1 << hwCbAUX)
  96. hwCmPwrMgr        EQU         (1 << hwCbPwrMgr)
  97.  
  98.  
  99. ;----------
  100. ; Interrupt Auto-vector and Exception Definitions
  101. ;----------
  102.  
  103. Line1010        EQU         $28                     ; 1010 emulator trap (system routines)
  104. Line1111        EQU         $2C                     ; 1111 emulator trap (reserved)
  105. FmtErrVect        EQU         $38                     ; format error vector for 68010/68020
  106. AutoInt1        EQU         $64                     ; level 1 auto-vector
  107. AutoInt2        EQU         $68                     ; level 2 auto-vector
  108. AutoInt3        EQU         $6C                     ; level 3 auto-vector
  109. AutoInt4        EQU         $70                     ; level 4 auto-vector
  110. AutoInt5        EQU         $74                     ; level 5 auto-vector
  111. AutoInt6        EQU         $78                     ; level 6 auto-vector
  112. AutoInt7        EQU         $7C                     ; level 7 auto-vector
  113.  
  114.  
  115. ;----------
  116. ; 6522 VIA offsets
  117. ;----------
  118.  
  119. vBufB            EQU         0                        ; BUFFER B
  120. vBufAH            EQU         $200                    ; buffer a (with handshake) [ Dont use! ]
  121. vDIRB            EQU         $400                    ; DIRECTION B
  122. vDIRA            EQU         $600                    ; DIRECTION A
  123. vT1C            EQU         $800                    ; TIMER 1 COUNTER (L.O.)
  124. vT1CH            EQU         $A00                    ; timer 1 counter (high order)
  125. vT1L            EQU         $C00                    ; TIMER 1 LATCH (L.O.)
  126. vT1LH            EQU         $E00                    ; timer 1 latch (high order)
  127. vT2C            EQU         $1000                    ; TIMER 2 LATCH (L.O.)
  128. vT2CH            EQU         $1200                    ; timer 2 counter (high order)
  129. vSR             EQU         $1400                    ; SHIFT REGISTER
  130. vACR            EQU         $1600                    ; AUX. CONTROL REG.
  131. vPCR            EQU         $1800                    ; PERIPH. CONTROL REG.
  132. vIFR            EQU         $1A00                    ; INT. FLAG REG.
  133. vIER            EQU         $1C00                    ; INT. ENABLE REG.
  134. vBufA            EQU         $1E00                    ; BUFFER A
  135.  
  136. ; === VIA IFR/IER bits ===
  137. ifCA2            EQU         0                        ; CA2 interrupt
  138. ifCA1            EQU         1                        ; CA1 interrupt
  139. ifSR            EQU         2                        ; SR shift register done
  140. ifCB2            EQU         3                        ; CB2 interrupt
  141. ifCB1            EQU         4                        ; CB1 interrupt
  142. ifT2            EQU         5                        ; T2 timer2 interrupt
  143. ifT1            EQU         6                        ; T1 timer1 interrupt
  144. ifIRQ            EQU         7                        ; any interrupt
  145.  
  146.  
  147. ;----------
  148. ; IWM Offsets
  149. ;----------
  150.  
  151. ph0L            EQU         0                        ; disk address offsets from base
  152. ph0H            EQU         $200
  153. ph1L            EQU         $400
  154. ph1H            EQU         $600
  155. ph2L            EQU         $800
  156. ph2H            EQU         $A00
  157. ph3L            EQU         $C00
  158. ph3H            EQU         $E00
  159. mtrOff            EQU         $1000
  160. mtrOn            EQU         $1200
  161. intDrive        EQU         $1400                    ; enable internal drive address
  162. extDrive        EQU         $1600                    ; enable external drive address
  163. q6L             EQU         $1800
  164. q6H             EQU         $1A00
  165. q7L             EQU         $1C00
  166. q7H             EQU         $1E00
  167.  
  168. ;_______________________________________;            
  169. ;
  170. ;  SWIM offsets
  171. ;_______________________________________;
  172.  
  173. wData            EQU         $0000                    ;Write a data byte
  174. wMark            EQU         $0200                    ;Write a mark byte
  175. wCRC            EQU         $0400                    ;Write a 2-byte CRC (1 access does both)
  176. wIWMConfig        EQU         wCRC                    ;Set IWM configuration
  177. wParams         EQU         $0600                    ;Set the 16 parameter registers
  178. wPhase            EQU         $0800                    ;Set phase lines states and directions
  179. wSetup            EQU         $0A00                    ;Set the current configuration
  180. wZeroes         EQU         $0C00                    ;Mode reg: 1's clr bits, 0's=don't care
  181. wOnes            EQU         $0E00                    ;Mode reg: 1's set bits, 0's=don't care
  182. rData            EQU         $1000                    ;Read a data byte
  183. rCorrection     EQU         rData                    ;Read the correction factor
  184. rMark            EQU         $1200                    ;Read a mark byte
  185. rError            EQU         $1400                    ;Error register
  186. rParams         EQU         $1600                    ;Parameters (16 bytes deep at this addr)
  187. rPhase            EQU         $1800                    ;Phase lines states and directions
  188. rSetup            EQU         $1A00                    ;Read the current configuration
  189. rStatus         EQU         $1C00                    ;Status (returns current mode reg value)
  190. rHandshake        EQU         $1E00                    ;Handshake register
  191.  
  192.  
  193. ;----------
  194. ; 8530 SCC Offsets
  195. ;----------
  196.  
  197. aData            EQU         6                        ; offset for A channel data
  198. aCtl            EQU         2                        ; offset for A channel control
  199. bData            EQU         4                        ; offset for B channel data
  200. bCtl            EQU         0                        ; offset for B channel control
  201. sccData         EQU         4                        ; general offset for data from control
  202. rxBF            EQU         0                        ; SCC receive buffer full
  203. txBE            EQU         2                        ; SCC transmit buffer empty
  204.  
  205. ;----------
  206. ; SCC Clock Rates, Baud Rate Constants
  207. ;----------
  208.  
  209. macClock        EQU         36707                    ; in Hz * 100
  210. hcMacClock        EQU         36720                    ; SCC clock rates
  211. midMacClock     EQU         39168
  212. nuMacClock        EQU         36864
  213. lisaAClock        EQU         40000                    ; port A clock
  214. lisaBCLock        EQU         36864                    ; port B clock
  215. macConst        EQU         114709                    ; in Hz/32
  216. hcMacConst        EQU         114750
  217. midMacConst     EQU         122400
  218. nuMacConst        EQU         115200
  219. lisaAConst        EQU         125000
  220. lisaBConst        EQU         115200
  221.  
  222.  
  223. ;----------
  224. ; 53C80 SCSI Register Defs, Offsets
  225. ;----------
  226.  
  227. sCDR            EQU         $00                     ; Current SCSI Read Data
  228. sODR            EQU         $00                     ; Output data register
  229. sICR            EQU         $10                     ; Initiator Command Register - READ/WRITE
  230. iRST            EQU         $80                     ; *RST asserted
  231. iAIP            EQU         $40                     ; arbitration in progress (read)
  232. bAIP            EQU         6                        ; bit test for arbitration in progress
  233. aTMD            EQU         $40                     ; assert Test Mode (write)
  234. iLA             EQU         $20                     ; Lost arbitration (read)
  235. bLA             EQU         5                        ; bit test for Lost Arbitration
  236. aDIFF            EQU         $20                     ; assert Differential enable (write)
  237. iACK            EQU         $10                     ; *ACK is asserted
  238. iBSY            EQU         $08                     ; *BSY is asserted
  239. iSEL            EQU         $04                     ; *SEL is asserted
  240. iATN            EQU         $02                     ; *ATN is asserted
  241. iDB             EQU         $01                     ; Data bus is asserted
  242. sMR             EQU         $20                     ; Mode Register - READ/WRITE
  243. iBDMA            EQU         $80                     ; Block Mode DMA
  244. iTGT            EQU         $40                     ; Target Mode
  245. iPTY            EQU         $20                     ; Enable Parity Checking
  246. iIPTY            EQU         $10                     ; Enable Parity interrupt
  247. iIEOP            EQU         $08                     ; Enable EOP interrupt
  248. iMBSY            EQU         $04                     ; Monitor BSY
  249. iDMA            EQU         $02                     ; DMA Mode
  250. iARB            EQU         $01                     ; Arbitration
  251. sTCR            EQU         $30                     ; Target Command Register - READ/WRITE
  252. iREQ            EQU         $08                     ; Assert *REQ
  253. iMSG            EQU         $04                     ; Assert *MSG
  254. iCD             EQU         $02                     ; Assert C/*D
  255. iIO             EQU         $01                     ; Assert I/*O
  256. sCSR            EQU         $40                     ; Current SCSI Bus Status (READ)
  257. aRST            EQU         $80                     ; *RST
  258. aBSY            EQU         $40                     ; *BSY
  259. bBSY            EQU         6                        ; bit test for *BSY
  260. aREQ            EQU         $20                     ; *REQ
  261. bREQ            EQU         5                        ; bit test for *REQ
  262. aMSG            EQU         $10                     ; *MSG
  263. bMSG            EQU         4                        ; bit test for *MSG
  264. aCD             EQU         $08                     ; C/*D
  265. bCD             EQU         3                        ; bit test for C/*D
  266. aIO             EQU         $04                     ; I/*O
  267. bIO             EQU         2                        ; bit test for I/*O
  268. aSEL            EQU         $02                     ; *SEL
  269. bSEL            EQU         1                        ; bit test for *SEL
  270. aDBP            EQU         $01                     ; *DBP
  271. sSER            EQU         $40                     ; Select Enable Register (WRITE)
  272. sBSR            EQU         $50                     ; Bus & Status Register (READ)
  273. iEDMA            EQU         $80                     ; End of DMA
  274. bEDMA            EQU         7                        ; bit test for end of DMA
  275. iDMAR            EQU         $40                     ; DMA Request
  276. bDMAR            EQU         6                        ; bit test for DMA Req
  277. iPERR            EQU         $20                     ; Parity Error
  278. iIREQ            EQU         $10                     ; Interrupt Request
  279. bIREQ            EQU         4                        ; bit test for interrupt
  280. iPM             EQU         $08                     ; Phase Match
  281. bPM             EQU         3                        ; bit test for Phase Match
  282. iBERR            EQU         $04                     ; Bus Error
  283. ATN             EQU         $02                     ; *ATN
  284. ACK             EQU         $01                     ; *ACK
  285. bACK            EQU         0                        ; bit test for ACK
  286. sDMAtx            EQU         $50                     ; DMA Transmit Start (WRITE)
  287. sIDR            EQU         $60                     ; Data input register (READ)
  288. sTDMArx         EQU         $60                     ; Start Target DMA receive (WRITE)
  289. sRESET            EQU         $70                     ; Reset Parity/Interrupt (READ)
  290. sIDMArx         EQU         $70                     ; Start Initiator DMA receive (WRITE)            
  291.  
  292. DiagROM         EQU         $F80000                 ; Alternate ROM - initial vector
  293. DiagROM1        EQU         $F80080                 ; Alternate ROM - memory sizing vector
  294. DiagROM2        EQU         $F80088                 ; Alternate ROM - init I/O vector
  295.  
  296.  
  297.                 IF            onMac32 THEN
  298. ;===================================================;
  299. ;    Universal 32 bit Macintosh Hardware Information ;
  300. ;===================================================;
  301.  
  302. ; === Interrupt Masks ===
  303. hiIntMask        EQU         $0700                    ; programmer switch only
  304. pwrOffEnbl        EQU         $2500                    ; mask to allow poweroff interrupts
  305. sccIntMask        EQU         $0400                    ; SCC interrupt level
  306. sccEnblMask     EQU         $FBFF                    ; mask to enable SCC interrupts
  307. slotIntMask     EQU         $0200                    ; slot's interrupt level    
  308. viaIntMask        EQU         $0100                    ; VIA1 interrupt level
  309. loIntMask        EQU         $0100
  310.  
  311. ; === VIA1 BUFFER A ===
  312. vSound            EQU         $7                        ; sound volume bits (0..2)    (output)
  313. vTestJ            EQU         0                        ; Burn In Test jumper        (input)
  314. vCpuId0         EQU         1                        ; CPU Identification bit 0    (input)
  315. vCpuId1         EQU         2                        ; CPU Identification bit 1    (input)
  316. vSync            EQU         3                        ; Synchronous modem
  317. vOverlay        EQU         4                        ; overlay bit (overlay when 1)
  318. vCpuId2         EQU         4                        ; CPU Identification bit 2
  319. vHeadSel        EQU         5                        ; head select line for Sony
  320. vRev8Bd         EQU         6                        ; =0 for rev 8 board
  321. vCpuId3         EQU         6                        ; CPU Identification bit 3
  322. vSCCWrReq        EQU         7                        ; SCC write/request line
  323.  
  324. ; === VIA1 BUFFER B ===
  325. vRTCData        EQU         0                        ; real time clock data
  326. vRTCClk         EQU         1                        ; real time clock clock pulses
  327. vRTCEnb         EQU         2                        ; clock enable (0 for enable)
  328. vFDBInt         EQU         3                        ; Front Desk bus interrupt
  329. vFDesk1         EQU         4                        ; Front Desk bus state bit 0
  330. vFDesk2         EQU         5                        ; Front Desk bus state bit 1
  331. vPGCEnb         EQU         6                        ; Parity Generator/Checker enable (0 for enable)
  332. vPGCErr         EQU         7                        ; Parity Generator/Checker error    (input)
  333. vSndEnb         EQU         7                        ; /sound enable (reset when 1)        (output)
  334.  
  335.  
  336. ; === Hardware Base Addresses ===
  337.  
  338. WrOffs            EQU         0                        ; SCSI write addrs are same as read base
  339.  
  340. MskIOP1         EQU         1                        ; IOP 1 (SWIM) is level 1 interrupt
  341. MskVIA1         EQU         1                        ; VIA 1 is level 1
  342. MskADB            EQU         1                        ; ADB is level 1
  343. Msk60Hz         EQU         1                        ; 60 Hz is level 1
  344. MskSCSI         EQU         2                        ; SCSI is level 2
  345. MskSound        EQU         2                        ; sound is level 2                        
  346. MskSlots        EQU         2                        ; slots are level 2 interrupts
  347. MskRTC            EQU         3                        ; RTC is level 3
  348. MskIOP0         EQU         4                        ; IOP 0 (& SCC chip) is level 4
  349. MskPwrOff        EQU         6                        ; Poweroff button is level 6
  350. MskNMI            EQU         7                        ; NMI switch is level 7
  351.  
  352.  
  353. ; === System Software Information ===
  354. snd2MemTop        EQU         $300                    ; SoundLow to Memtop
  355. pwm2MemTop        EQU         $2FF                    ; PWMBuffer to MemTop
  356. bufWorldSize    EQU         snd2MemTop                ; total size of the BufPtr world
  357. seRegs            EQU         $0C30                    ; offset to Sys Error Regs w/o Overlay
  358.  
  359. numOsTrap        EQU         256                     ; number of os traps
  360. ToolTable        EQU         $0E00                    ; start of toolbox trap table
  361. numTbTrap        EQU         1024                    ; number of toolbox traps
  362. numTrapMask     EQU         numTbTrap-1             ; mask for number of tb traps
  363. HeapStart        EQU         $2000                    ; new heap start location
  364. defSysHeap        EQU         $18000                    ; Default size of the system heap
  365. nDfltStackSize    EQU         $6000                    ; Default stack size
  366.  
  367.                 ENDIF                                ; {onMac32}
  368.  
  369.  
  370.                 IF            onMac THEN
  371. ;=======================================;
  372. ;  Macintosh Plus Hardware Information    ;
  373. ;=======================================;
  374.  
  375. hwCfgBits        EQU         hwCmSCSI++hwCmClock
  376. machine         EQU         0
  377. rom85Bits        EQU         $7F                     ; New ROMs, No Power Off.
  378.  
  379. ; === Interrupt Masks ===
  380. hiIntMask        EQU         $0300                    ; programmer switch only
  381. sccIntMask        EQU         $0200                    ; SCC interrupt Level
  382. sccEnblMask     EQU         $F9FF                    ; mask to enable SCC interrupts
  383. viaIntMask        EQU         $0100                    ; mask for VIA (and VBL) interrupts
  384. loIntMask        EQU         $0100
  385.  
  386. ; === VIA1 BUFFER A ===
  387. vSound            EQU         $7                        ; sound volume bits (0..2)
  388. vSndPg2         EQU         3                        ; select sound page 2 if 0
  389. vOverlay        EQU         4                        ; overlay bit (overlay when 1)
  390. vHeadSel        EQU         5                        ; head select line for Sony
  391. vPage2            EQU         6                        ; select video page 2 if 0
  392. vSCCWrReq        EQU         7                        ; SCC write/request line
  393.  
  394. vAOut            EQU         (vSound)|\                ; sound volume bits are outputs
  395.                             (1<<vSndPg2)|\            ; sound page 2 select is an output
  396.                             (1<<vOverlay)|\         ; overlay bit is an output
  397.                             (1<<vHeadSel)|\         ; head select line is an output
  398.                             (1<<vPage2)|\            ; video page 2 select is an output
  399.                             (0<<vSCCWrReq)            ; SCC write/request line is an input
  400.  
  401. vBufD            EQU         vBufA                    ; disk head select is buffer A
  402.  
  403.  
  404. ; === VIA1 BUFFER B ===
  405. vRTCData        EQU         0                        ; real time clock data
  406. vRTCClk         EQU         1                        ; real time clock clock pulses
  407. vRTCEnb         EQU         2                        ; clock enable (0 for enable)
  408. vSW             EQU         3                        ; mouse switch (0 when down)
  409. vX2             EQU         4                        ; mouse X level
  410. vY2             EQU         5                        ; mouse Y level
  411. vH4             EQU         6                        ; horizontal sync
  412. vSndEnb         EQU         7                        ; /sound enable (reset when 1)
  413.  
  414. vBOut            EQU         (1<<vRTCData)|\         ; real time clock data initially an output
  415.                             (1<<vRTCClk)|\            ; real time clock clock is an output
  416.                             (1<<vRTCEnb)|\            ; clock enable is an output
  417.                             (0<<vSW)|\                ; mouse switch is an input
  418.                             (0<<vX2)|\                ; mouse X level is an input
  419.                             (0<<vY2)|\                ; mouse Y level is an input
  420.                             (0<<vH4)|\                ; horizontal sync is an input
  421.                             (1<<vSndEnb)            ; sound enable is an output
  422.  
  423. vBufM            EQU         vBufB                    ; mouse state is buffer B
  424.  
  425.  
  426. ; === Hardware Base Addresses ===
  427.  
  428. romBSize        EQU         $20000                    ; 128K bytes in ROM $0075
  429. ROMStart        EQU         $400000                 ; starting address of ROM code
  430.  
  431. PhaseRead        EQU         $F00000                 ; Phase read address
  432.  
  433. VBase            EQU         $EFE1FE                 ; VIA base address
  434. AVBufA            EQU         VBase+vBufA             ; VIA buffer A
  435. AVBufB            EQU         VBase+vBufB             ; VIA buffer B
  436. AVBufM            EQU         VBase+vBufM             ; VIA buffer with mouse button bit
  437.  
  438. SCCRBase        EQU         $9FFFF8                 ; SCC base read address
  439. SCCWBase        EQU         $BFFFF9                 ; SCC base write address
  440. sccWrite        EQU         SCCWBase-SCCRBase        ; general offset for write from read
  441.  
  442. DBase            EQU         $DFE1FF                 ; disk address base
  443.  
  444. SCSIRd            EQU         $580000                 ; base addr SCSI interface - READ
  445. SCSIWr            EQU         $580001                 ; base addr SCSI interface - WRITE
  446. wrOffs            EQU         SCSIWr-SCSIRd            ; write addrs are +1 to the read base
  447.  
  448. SoundLow        EQU         $3FFD00                 ; sound buffer start address
  449. snd2MemTop        EQU         $300                    ; SoundLow to Memtop
  450.  
  451. PWMBuffer        EQU         $3FFD01                 ; PWM bytes are low bytes
  452. pwm2MemTop        EQU         $2FF                    ; PWMBuffer to MemTop
  453.  
  454. ; === Video Parameters ===
  455.  
  456. ScreenLow        EQU         $3FA700                 ; top of screen screen address
  457. scrn2MemTop     EQU         $5900                    ; ScreenBase to Memtop
  458.  
  459. ; === System Software Information ===
  460. bufWorldSize    EQU         scrn2MemTop             ; total size of the BufPtr world
  461. seRegs            EQU         $3FFC80                 ; Sys Error Regs w/o Overlay
  462.  
  463. oneSecConst     EQU         2                        ; gets converted to $20000 for onesec constant
  464. numOsTrap        EQU         256                     ; number of os traps
  465. ToolTable        EQU         $0C00                    ; start of toolbox trap table
  466. numTbTrap        EQU         512                     ; number of toolbox traps
  467. numTrapMask     EQU         numTbTrap-1             ; mask for number of tb traps
  468. HeapStart        EQU         $1400                    ; Mac Plus starting point
  469. defSysHeap        EQU         $B700                    ; Default size of the system heap
  470. nDfltStackSize    EQU         $2000                    ; Default stack size
  471.  
  472.                 ELSEIF        onMacPP THEN
  473. ;=======================================;
  474. ;    Macintosh SE Hardware Information    ;
  475. ;=======================================;
  476.  
  477. hwCfgBits        EQU         hwCmSCSI++hwCmClock++hwCmADB
  478. machine         EQU         2
  479. rom85Bits        EQU         $7F                     ; New ROMs, No Power Off.
  480.  
  481. ; === Interrupt Masks ===
  482. hiIntMask        EQU         $0300                    ; programmer switch only
  483. sccIntMask        EQU         $0200                    ; SCC interrupt Level    
  484. sccEnblMask     EQU         $F9FF                    ; mask to enable SCC interrupts
  485. viaIntMask        EQU         $0100                    ; mask for VIA (and VBL) interrupts
  486. loIntMask        EQU         $0100
  487.  
  488. ; === VIA1 BUFFER A ===
  489. vSound            EQU         $7                        ; sound volume bits (0..2)
  490. vSync            EQU         3                        ; Synchronous modem
  491. vDriveSel        EQU         4                        ; int drive select (lower drive when 1)
  492. vHeadSel        EQU         5                        ; head select line for Sony
  493. vPage2            EQU         6                        ; select video page 2 if 0
  494. vSCCWrReq        EQU         7                        ; SCC write/request line
  495.  
  496. vAOut            EQU         (vSound)|\                ; sound volume bits are outputs
  497.                             (1<<vSync)|\            ; Synchronous modem is an output
  498.                             (1<<vDriveSel)|\        ; int drive select is an output
  499.                             (1<<vHeadSel)|\         ; head select line is an output
  500.                             (1<<vPage2)|\            ; video page 2 select is an output
  501.                             (0<<vSCCWrReq)            ; SCC write/request line is an input
  502.  
  503. vBufD            EQU         vBufA                    ; disk head select is buffer A
  504.  
  505.  
  506. ; === VIA1 BUFFER B ===
  507. vRTCData        EQU         0                        ; real time clock data
  508. vRTCClk         EQU         1                        ; real time clock clock pulses
  509. vRTCEnb         EQU         2                        ; clock enable (0 for enable)
  510. vFDBInt         EQU         3                        ; Front Desk bus interrupt
  511. vFDesk1         EQU         4                        ; Front Desk bus state bit 0
  512. vFDesk2         EQU         5                        ; Front Desk bus state bit 1
  513. vSCSIMask        EQU         6                        ; SCSI IRQ mask
  514. vH4             EQU         vSCSIMask                ; SCSI IRQ mask (was horiz. sync)
  515. vSndEnb         EQU         7                        ; /sound enable (reset when 1)
  516.  
  517. vBOut            EQU         (1<<vRTCData)|\         ; real time clock data initially an output
  518.                             (1<<vRTCClk)|\            ; real time clock clock is an output
  519.                             (1<<vRTCEnb)|\            ; clock enable is an output
  520.                             (0<<vFDBInt)|\            ; Front Desk bus interrupt is an input
  521.                             (1<<vFDesk1)|\            ; FDB state bit 0 is an output
  522.                             (1<<vFDesk2)|\            ; FDB state bit 1 is an output
  523.                             (1<<vSCSIMask)|\        ; SCSI IRQ mask is an output
  524.                             (1<<vSndEnb)            ; sound enable is an output
  525.  
  526. ; === Hardware Base Addresses ===
  527.  
  528. romBSize        EQU         $40000                    ; 256K bytes in present ROM
  529. ROMStart        EQU         $400000                 ; starting address of ROM code                
  530.  
  531. VBase            EQU         $EFE1FE                 ; VIA base address
  532. AVBufA            EQU         VBase+vBufA             ; VIA buffer A
  533. AVBufB            EQU         VBase+vBufB             ; VIA buffer B
  534.  
  535. SCCRBase        EQU         $9FFFF8                 ; SCC base read address
  536. SCCWBase        EQU         $BFFFF9                 ; SCC base write address
  537. sccWrite        EQU         SCCWBase-SCCRBase        ; general offset for write from read
  538.  
  539. DBase            EQU         $DFE1FF                 ; disk address base
  540.  
  541. SCSIRd            EQU         $5FF000                 ; base addr SCSI interface - READ
  542. SCSIWr            EQU         $5FF001                 ; base addr SCSI interface - WRITE
  543. MacSCSIBase     EQU         $5FF000                 ; base addr SCSI READ interface
  544. MacSCSIDMA        EQU         $5FF200                 ; base addr SCSI DMA
  545. MacSCSIHsk        EQU         $5FF200                 ; base addr SCSI handshake
  546. wrOffs            EQU         SCSIWr-SCSIRd            ; write addrs are +1 to the read base
  547.  
  548. SoundLow        EQU         $3FFD00                 ; sound buffer start address
  549. snd2MemTop        EQU         $300                    ; SoundLow to Memtop
  550.  
  551. PWMBuffer        EQU         $3FFD01                 ; PWM bytes are low bytes
  552. pwm2MemTop        EQU         $2FF                    ; PWMBuffer to MemTop
  553.  
  554. ; === Video Parameters ===
  555.  
  556. ScreenLow        EQU         $3FA700                 ; top of screen screen address
  557. scrn2MemTop     EQU         $5900                    ; ScreenBase to Memtop
  558.  
  559. ; === System Software Information ===
  560. bufWorldSize    EQU         scrn2MemTop             ; total size of the BufPtr world
  561. seRegs            EQU         $3FFC80                 ; Sys Error Regs w/o Overlay
  562.  
  563. oneSecConst     EQU         2                        ; gets converted to $20000 for onesec constant
  564. numOsTrap        EQU         256                     ; number of os traps
  565. ToolTable        EQU         $0E00                    ; start of toolbox trap table
  566.  
  567. numTbTrap        EQU         512                     ; number of toolbox traps
  568. numTrapMask     EQU         numTbTrap-1             ; mask for number of tb traps
  569. HeapStart        EQU         $1600                    ; Aladdin starting point
  570.  
  571. defSysHeap        EQU         $18000                    ; Default size of the system heap
  572. nDfltStackSize    EQU         $2000                    ; Default stack size
  573.  
  574.  
  575.                 ELSEIF        onHcMac THEN
  576. ;===========================================;
  577. ;    Macintosh Portable Hardware Information ;
  578. ;===========================================;
  579.  
  580. hwCfgBits        EQU         hwCmSCSI++hwCmClock++hwCmADB++hwCbPwrMgr                ;
  581. machine         EQU         3
  582. rom85Bits        EQU         $7F                     ; New ROMs, No Power Off.
  583.  
  584. ; === Interrupt Masks ===
  585. hiIntMask        EQU         $0300                    ; programmer switch only
  586. sccIntMask        EQU         $0200                    ; SCC interrupt Level    
  587. sccEnblMask     EQU         $F9FF                    ; mask to enable SCC interrupts
  588. viaIntMask        EQU         $0100                    ; mask for VIA (and VBL) interrupts
  589. loIntMask        EQU         $0100
  590.  
  591. ; === VIA1 BUFFER A ===
  592.                                                     ; 68000 <-> PowerMgr data bus
  593. vAIn            EQU         $00                     ; VBufA output bits (all inputs)
  594. vAOut            EQU         $FF                     ; VBufA output bits (all outputs)
  595.  
  596.  
  597. ; === VIA1 BUFFER B ===
  598. vPMreq            EQU         0                        ; Power manager handshake request
  599. vPMack            EQU         1                        ; Power manager handshake acknowledge
  600. vTestJ            EQU         2                        ; Test jumper
  601. vSync            EQU         3                        ; Synchronous modem
  602. vDriveSel        EQU         4                        ; int drive select (lower drive when 1)
  603. vHeadSel        EQU         5                        ; head select line for Sony
  604. vStereo         EQU         6                        ; Stereo sound enable
  605. vSCCWrReq        EQU         7                        ; SCC write/request line        (input)
  606. vSndEnb         EQU         7                        ; /sound enable (reset when 1)    (output)
  607.  
  608. vBOut            EQU         (1<<vPMreq)|\            ; Power mgr handshake request is an output
  609.                             (0<<vPMack)|\            ; Power mgr handshake acknowledge is an input
  610.                             (0<<vTestJ)|\            ; Test jumper is an input
  611.                             (1<<vSync)|\            ; Synchronous modem is an output
  612.                             (1<<vDriveSel)|\        ; int drive select is an output
  613.                             (1<<vHeadSel)|\         ; head select line is an output
  614.                             (0<<vStereo)|\            ; Stereo sound detect is an input
  615.                             (1<<vSndEnb)            ; sound enable is an output
  616.  
  617. vBufD            EQU         vBufB                    ; disk head select is buffer B
  618.  
  619.  
  620. ; === Hardware Base Addresses ===
  621.  
  622. romBSize        EQU         $40000                    ; 256K bytes in present ROM
  623. ROMStart        EQU         $900000                 ; starting address of ROM code
  624.  
  625. VBase            EQU         $F70000                 ; VIA base address
  626. AVBufA            EQU         VBase+vBufA             ; VIA buffer A
  627. AVBufB            EQU         VBase+vBufB             ; VIA buffer B
  628.  
  629. SCCRBase        EQU         $FD0000                 ; SCC base read address
  630. SCCWBase        EQU         $FD8000                 ; SCC base write address
  631. sccWrite        EQU         SCCWBase-SCCRBase        ; general offset for write from read
  632.  
  633. DBase            EQU         $F6E1FF                 ; disk address base             
  634.  
  635. SCSIRd            EQU         $F90000                 ; base address of SCSI interface - READ
  636. SCSIWr            EQU         $F90001                 ; base address of SCSI interface - WRITE
  637. MacSCSIBase     EQU         $F90000                 ; base address of SCSI READ interface
  638. MacSCSIDMA        EQU         $F90200                 ; base address of SCSI DMA
  639. MacSCSIHsk        EQU         $F90200                 ; base address of SCSI handshake
  640. wrOffs            EQU         SCSIWr-SCSIRd            ; write addrs are +1 to the read base
  641.  
  642. SndBase         EQU         $FB0000                 ; sound chip's base address
  643.  
  644. MapperBase        EQU         $FC0000                 ; Mapper RAM base address
  645.  
  646. RAMconfigBase    EQU         $FE0200                 ; Internal/external RAM control register
  647.  
  648. ; === Video Parameters ===
  649.  
  650. ScreenLow        EQU         $FA8000                 ; top of screen screen address
  651. hcVideoSize     EQU         $8000                    ; 32k of video memory
  652. HcVideoStart    EQU         ScreenLow
  653. HcVideoEnd        EQU         HcVideoStart+hcVideoSize
  654. NTSCMaxX        EQU         512                     ; NTSC output is narrow
  655. NTSCOffset        EQU         8                        ;  and centered
  656.  
  657. ; === System Software Information ===
  658. snd2MemTop        EQU         $300                    ; SoundLow to Memtop
  659. pwm2MemTop        EQU         $2FF                    ; PWMBuffer to MemTop
  660. bufWorldSize    EQU         snd2MemTop                ; total size of the BufPtr world
  661. seRegs            EQU         $0C30                    ; offset to Sys Error Regs w/o Overlay
  662.  
  663. oneSecConst     EQU         2                        ; gets converted to $20000 for onesec constant
  664. numOsTrap        EQU         256                     ; number of os traps
  665. ToolTable        EQU         $0E00                    ; start of toolbox trap table
  666. numTbTrap        EQU         1024                    ; number of toolbox traps
  667. numTrapMask     EQU         numTbTrap-1             ; mask for number of tb traps
  668. HeapStart        EQU         $1E00                    ; Portable starting point
  669. DefSysHeap        EQU         $18000                    ; Default size of the system heap
  670. NDfltStackSize    EQU         $2000                    ; Default stack size
  671.  
  672.                 ELSEIF        onHafMac THEN
  673. ;===============================;
  674. ;    Mac IIci Hardware Information    ;
  675. ;===============================;
  676.  
  677. machine         EQU         6
  678.  
  679. vAOut            EQU         (vSound)|\                ; sound volume bits are outputs
  680.                             (1<<vSync)|\            ; Synchronous modem is an output
  681.                             (0<<vCpuId2)|\            ; CPU Identification bit 2 is an input
  682.                             (1<<vHeadSel)|\         ; head select line is an output
  683.                             (0<<vCpuId3)|\            ; CPU Identification bit 3 is an input
  684.                             (0<<vSCCWrReq)            ; SCC write/request line is an input
  685.  
  686. vBufD            EQU         vBufA                    ; disk head select is buffer A
  687.  
  688. vBOut            EQU         (1<<vRTCData)|\         ; real time clock data initially an output
  689.                             (1<<vRTCClk)|\            ; real time clock clock is an output
  690.                             (1<<vRTCEnb)|\            ; clock enable is an output
  691.                             (0<<vFDBInt)|\            ; Front Desk bus interrupt is an input
  692.                             (1<<vFDesk1)|\            ; FDB state bit 0 is an output
  693.                             (1<<vFDesk2)|\            ; FDB state bit 1 is an output
  694.                             (1<<vPGCEnb)|\            ; PGC enable is an output
  695.                             (1<<vSndEnb)            ; sound enable is an output
  696.  
  697.  
  698. ; === Hardware Base Addresses ===
  699.  
  700. romBSize        EQU         $80000                    ; 512K bytes in present ROM     
  701. ROMStart        EQU         $40800000                ; starting address of final ROM code
  702.  
  703. VBase            EQU         $50F00000                ; VIA base address
  704. AVBufA            EQU         VBase+vBufA             ; VIA buffer A
  705. AVBufB            EQU         VBase+vBufB             ; VIA buffer B
  706.  
  707. SCCRBase        EQU         $50F04000                ; SCC base read address
  708. SCCWBase        EQU         $50F04000                ; SCC base write address
  709. sccWrite        EQU         SCCWBase-SCCRBase        ; general offset for write from read
  710.  
  711. DBase            EQU         $50F16000                ; disk address base             
  712.  
  713. NewSCSIBase     EQU         $50F10000                ; rev8 base addr SCSI interface
  714. NewSCSIDMA        EQU         $50F12000                ; rev8 base addr SCSI DMA
  715. NewSCSIHsk        EQU         $50F06000                ; rev8 base addr SCSI handshake
  716. MacSCSIBase     EQU         $50F10000                ; base addr SCSI interface
  717. MacSCSIDMA        EQU         $50F12000                ; base addr SCSI DMA
  718. MacSCSIHsk        EQU         $50F06000                ; base addr SCSI handshake
  719.  
  720. SndBase         EQU         $50F14000                ; sound chip's base address
  721.  
  722. ; === Video Parameters ===
  723.  
  724. VBase2            EQU         $50F02000                ; VIA2 base address             
  725. RBVBase         EQU         $50F26000                ; RBV base address            
  726. vDACBase        EQU         $50F24000                ; base of clut
  727.  
  728. ; === System Software Information ===
  729. oneSecConst     EQU         8                        ; gets converted to $80000 for onesec constant
  730.  
  731.  
  732.                 ELSEIF        onNuMac THEN
  733. ;=======================================================;
  734. ;    Macintosh II, IIx, IIcx, SE/30 Hardware Information ;
  735. ;=======================================================;
  736.  
  737. hwCfgBits        EQU         hwCmSCSI++hwCmClock++hwCmFPU++hwCmMMU++hwCmADB
  738. machine         EQU         1
  739. rom85Bits        EQU         $3F                     ; New ROMs, Power Off ability.
  740.  
  741. vAOut            EQU         (vSound)|\                ; sound volume bits are outputs
  742.                             (1<<vSync)|\            ; Synchronous modem is an output
  743.                             (1<<vOverlay)|\         ; overlay bit is an output
  744.                             (1<<vHeadSel)|\         ; head select line is an output
  745.                             (0<<vRev8Bd)|\            ; board ID is an input
  746.                             (0<<vSCCWrReq)            ; SCC write/request line is an input
  747.  
  748. vBufD            EQU         vBufA                    ; disk head select is buffer A
  749.  
  750. vBOut            EQU         (1<<vRTCData)|\         ; real time clock data initially an output
  751.                             (1<<vRTCClk)|\            ; real time clock clock is an output
  752.                             (1<<vRTCEnb)|\            ; clock enable is an output
  753.                             (0<<vFDBInt)|\            ; Front Desk bus interrupt is an input
  754.                             (1<<vFDesk1)|\            ; FDB state bit 0 is an output
  755.                             (1<<vFDesk2)|\            ; FDB state bit 1 is an output
  756.                             (1<<vSndEnb)            ; sound enable is an output
  757.  
  758. ;----------
  759. ; VIA2 register definitions
  760. ;----------
  761.  
  762. ; === VIA2 BUFFER A ===
  763. v2IRQ1            EQU         0                        ; slot 1 interrupt
  764. v2IRQ2            EQU         1                        ; slot 2 interrupt
  765. v2IRQ3            EQU         2                        ; slot 3 interrupt
  766. v2IRQ4            EQU         3                        ; slot 4 interrupt
  767. v2IRQ5            EQU         4                        ; slot 5 interrupt
  768. v2IRQ6            EQU         5                        ; slot 6 interrupt
  769. v2RAM0            EQU         6                        ; RAM size bit 0
  770. v2RAM1            EQU         7                        ; RAM size bit 1
  771.  
  772. ; === VIA2 BUFFER B ===
  773. v2CDis            EQU         0                        ; cache disable (when 1)    
  774. v2BusLk         EQU         1                        ; Bus lockout
  775. v2PowerOff        EQU         2                        ; soft power off signal (when 0)
  776. vFC3            EQU         3                        ; PMMU FC3 indicator
  777. v2TM1A            EQU         4                        ; bit for NUBus
  778. v2TM0A            EQU         5                        ; and another
  779. v2SndExt        EQU         6                        ; 1 = internal speaker, 0 = ext. audio
  780. v2VBL            EQU         7                        ; pseudo VBL signal
  781.  
  782. ; === VIA2 BUFFER A ===
  783. v2AOut            EQU         (0<<v2IRQ1)|\            ; slot 1 interrupt is an input
  784.                             (0<<v2IRQ2)|\            ; slot 2 interrupt is an input
  785.                             (0<<v2IRQ3)|\            ; slot 3 interrupt is an input
  786.                             (0<<v2IRQ4)|\            ; slot 4 interrupt is an input
  787.                             (0<<v2IRQ5)|\            ; slot 5 interrupt is an input
  788.                             (0<<v2IRQ6)|\            ; slot 6 interrupt is an input
  789.                             (1<<v2RAM0)|\            ; ram size bit 0 is an output
  790.                             (1<<v2RAM1)             ; ram size bit 1 is an output
  791.  
  792.  
  793. ; === VIA2 BUFFER B ===
  794. v2BOut            EQU         (0<<v2CDis)|\            ; cache disabled
  795.                             (0<<v2BusLk)|\            ; Bus unlocked
  796.                             (0<<v2PowerOff)|\        ; Power on
  797.                             (0<<vFC3)|\             ; don't flush cache
  798.                             (0<<v2TM1A)|\            ; NuBus timeout bits are inputs
  799.                             (0<<v2TM0A)|\            ; NuBus timeout bits are inputs
  800.                             (0<<v2SndExt)|\         ; sound/speaker mode is an input
  801.                             (1<<v2VBL)                ; 60Hz pseudo VBL output
  802.  
  803.  
  804. ; === Hardware Base Addresses ===
  805.  
  806. romBSize        EQU         $80000                    ; 512K bytes in present ROM     
  807. ROMStart        EQU         $40800000                ; starting address of final ROM code
  808.  
  809. VBase            EQU         $50F00000                ; VIA base address
  810. AVBufA            EQU         VBase+vBufA             ; VIA buffer A
  811. AVBufB            EQU         VBase+vBufB             ; VIA buffer B
  812.  
  813. VBase2            EQU         $50F02000                ; VIA2 base address             
  814.  
  815. SCCRBase        EQU         $50F04000                ; SCC base read address
  816. SCCWBase        EQU         $50F04000                ; SCC base write address
  817. sccWrite        EQU         SCCWBase-SCCRBase        ; general offset for write from read
  818.  
  819. DBase            EQU         $50F16000                ; disk address base         
  820.  
  821. NewSCSIBase     EQU         $50F10000                ; rev8 base addr SCSI interface
  822. NewSCSIDMA        EQU         $50F12000                ; rev8 base addr SCSI DMA (corrected)
  823. NewSCSIHsk        EQU         $50F06000                ; rev8 base addr SCSI handshake
  824. MacSCSIBase     EQU         $50F10000                ; base addr SCSI interface
  825. MacSCSIDMA        EQU         $50F12000                ; base addr SCSI DMA
  826. MacSCSIHsk        EQU         $50F06000                ; base addr SCSI handshake
  827.  
  828. SndBase         EQU         $50F14000                ; sound chip's base address
  829.  
  830.             ENDIF
  831.  
  832. ;----------
  833. ; Deep Shit Rectangle info
  834. ;----------
  835.  
  836. dsRectTL        EQU         (64<<16)+32             ; top left = 64,32
  837. dsRectBR        EQU         (190<<16)+480            ; bottom right = 190,480
  838. dsRectHei        EQU         (DSrectBR**$FFFF0000)-(DSrectTL**$FFFF0000)>>16
  839. dsRectLen        EQU         (DSrectBR**$FFFF)-(DSrectTL**$FFFF)
  840.  
  841.  
  842.                 IF    onAnything THEN
  843.  
  844. ;----------
  845. ; System Error, ROM Based Debugger Nub, MicroBug Equates
  846. ;----------
  847.  
  848. seVars            EQU         seRegs                    ; start of system error data space (wrap city)
  849. seVSize         EQU         128                     ; # of bytes in space
  850. seD0            EQU         seVars                    ; loc of saved reg D0
  851. seA0            EQU         seD0+32                 ; loc of saved reg A0
  852. seA7            EQU         seA0+28                 ; loc of saved reg A7
  853. sePC            EQU         seA7+4                    ; loc of saved PC
  854. seSR            EQU         sePC+4                    ; loc of saved SR
  855. seAccess        EQU         seSR+2                    ; PC address during bus/address error
  856. seCmdSize        EQU         seAccess+4                ; # of bytes of parameters passed in _debugger call
  857. se000BE         EQU         seCmdSize+2             ; 8 bytes of bus error info for 68000
  858. seLastVar        EQU         se000BE+8                ; last var in System Error data space
  859.  
  860.  
  861. ;-----
  862. ; ROM based debugger nub
  863. ;-----
  864.  
  865. rdPort            EQU         seLastVar                ; Number of port currently in use (0 => no link, 1 => A, 2 => B)
  866. rdCode            EQU         rdPort+2                ; Ptr to code download buffer.
  867. rdAtrap         EQU         rdCode+4                ; Saved Rom Atrap handler
  868. rdLowTrap        EQU         rdAtrap+4                ; low value for trap handling
  869. rdHiTrap        EQU         rdLowTrap+2             ; high value for trap handling
  870. rdResult        EQU         rdHiTrap+2                ; result of executing down-loaded code, etc. (16 bytes)
  871. rdEnd            EQU         rdResult+16             ; end of vars
  872.  
  873.  
  874. ;-----
  875. ; Microbug
  876. ;-----
  877.  
  878. ; NOTE: Keep mbDotAddr immediately before mBlocAddr
  879.  
  880. mbBufSize        EQU         34
  881. mbBuffer        EQU         seLastVar                ; buffer for input
  882. mbSign            EQU         mbBuffer+mbBufSize        ; ST => negative sign during conversion
  883. mbDotAddr        EQU         mbSign+2                ; saved address
  884. mBlocAddr        EQU         mbDotAddr+4             ; saved location
  885.  
  886. ;----------
  887. ; Timing constants
  888. ;----------
  889.  
  890. VIAClockHz        EQU         783360                    ; VIA clock rate is 783360 Hz.        
  891. nTicks            EQU         VIAClockHz/1000         ; VIA timer ticks per msec
  892. oneSecTicks     EQU         60                        ; ticks, of course
  893. TimeSCSIDB        EQU         $0B24                    ; DBRAs & SCSI access per millisecond
  894.  
  895. ramChk            EQU         1024                    ; Amount of memory tested for stack.
  896.  
  897.                 ENDIF
  898.  
  899.             ENDIF                                    ; {HWNonPortable}
  900.  
  901.